// models/collect_model.go
// =============================================================================
// | 包: models                                                              |
// | 功能: 定义应用程序的数据模型，映射数据库表结构                           |
// =============================================================================
package models

// =============================================================================
// | 结构体: CollectModel                                                    |
// | 功能: 文章收藏夹数据模型                                                |
// | 说明: 映射数据库中的收藏夹表，存储用户创建的文章收藏夹信息              |
// |----------------------------------------------------------------------------|
// | 字段: Model - Model - 基础模型，包含ID、CreatedAt、UpdatedAt字段         |
// | 字段: Title - string - 收藏夹标题，最大长度32字符                        |
// | 字段: Abstract - string - 收藏夹摘要，最大长度32字符                      |
// | 字段: Cover - string - 收藏夹封面图片URL，最大长度32字符                  |
// | 字段: ArticleCount - int - 收藏夹内文章数量                              |
// | 字段: UserID - uint - 用户ID，收藏夹创建者的唯一标识                      |
// | 字段: UserModel - UserModel - 收藏夹创建者信息，不JSON序列化               |
// =============================================================================
type CollectModel struct {
	Model
	Title        string    `gorm:"size:32" json:"title"`
	Abstract     string    `gorm:"size:32" json:"abstract"`
	Cover        string    `gorm:"size:32" json:"cover"`
	ArticleCount int       `json:"articleCount"`
	UserID       uint      `json:"userID"`
	UserModel    UserModel `gorm:"foreignKey:UserID" json:"-"`
}
